Ext.onReady(function() {
	Ext.apply(Ext.form.VTypes, {
				numbers : function(v) {
					return /^[0-9]+$/.test(v);
				},
				numbersText : 'Must be a numeric IP address',
				numbersMask : /[0-9]/i
			});
	var mhSearchPanel = new Ext.FormPanel({
				frame : true,
				region : 'center',
				bodyStyle : 'padding:5px 5px 0',
				items : [{
							layout : 'column',
							items : [{
										columnWidth : .4,
										layout : 'form',
										items : [{
													id : 'searchType',
													xtype : 'combo',
													store : ['学号', '姓名'],
													// displayField:'state',
													typeAhead : true,
													mode : 'local',
													forceSelection : true,
													triggerAction : 'all',
													emptyText : 'Select...',
													selectOnFocus : true,

													fieldLabel : '类型',
													// forceSelection :true,
													// autoselect:true,
													value : '学号',
													// hidelabel : true,
													name : 'searchType'
												}]
									}, {
										columnWidth : .4,
										layout : 'form',
										items : [{
													id : 'searchTerm',
													xtype : 'textfield',
													fieldLabel : '条件',
													name : 'searchTerm'
												}]
									}, {
										columnWidth : .2,
										items : [{
													xtype : 'button',
													width : 80,
													text : '搜索',
													handler : mhSearch
												}]
									}]
						}]
			});
	function mhSearch() {
		var type;
		var term;
		var combo = Ext.getCmp('searchType');
		var termBox = Ext.getCmp('searchTerm');
		var grid = Ext.getCmp('gridPanel');
		var typeName = combo.getValue();
		if (typeName == '学号') {
			type = 0;
		} else if (typeName == '姓名') {
			type = 1;
		}
		term = termBox.getValue();
		if (type != 0 && type != 1) {
			Ext.MessageBox.alert('ERROR', '请先选择类型');
		} else if (term == '') {
			Ext.MessageBox.alert('ERROR', '请输入搜索条件');
		} else {
			grid.getStore().reload();
		}
	};

	var store = new Ext.data.Store({// 配置分组数据集
		params : {
			start : 0,
			limit : 5
		},// 默认加载参数：start=0，limit=5
		reader : new Ext.data.JsonReader({
					totalProperty : 'totalProperty',
					root : "infoList"
				}, Ext.data.Record.create([// 对应JSON中的属性名称
						{
									name : 'studentno'
								}, {
									name : 'studentname'
								}, {
									name : 'studentgender'
								}])),
		proxy : new Ext.data.HttpProxy({// URL:struts.xml中配置该action
			url : 'http://5i407.gicp.net:8080/DMS/getSearchedStudentJSON.action'
		})
	});
	// 学号 姓名 性别 学院 专业 班级 宿舍
	// studentno studentname studentgender
	var tb = new Ext.Toolbar();
	tb.add({
				id : 'searchType',
				xtype : 'combo',
				store : ['学号', '姓名'],
				// displayField:'state',
				typeAhead : true,
				mode : 'local',
				forceSelection : true,
				triggerAction : 'all',
				emptyText : 'Select...',
				selectOnFocus : true,

				fieldLabel : '类型',
				// forceSelection :true,
				// autoselect:true,
				value : '学号',
				// hidelabel : true,
				name : 'searchType'
			});
	tb.add({
				id : 'searchTerm',
				xtype : 'textfield',
				fieldLabel : '条件',
				name : 'searchTerm'
			});
	tb.add({
				xtype : 'button',
				width : 80,
				text : '搜索',
				handler : mhSearch
			});
	var gridPanel = new Ext.grid.GridPanel({
				id : 'gridPanel',
				region : 'center',
				stripeRows : true,
				store : store,
				tbar : tb,
				loadMask : {
					msg : '正在加载数据，请稍侯……'
				},
				columns : [{
							id : 'studentno',
							header : '学号',
							width : 75,
							sortable : true,
							dataIndex : 'studentno'
						}, {
							header : '姓名',
							width : 75,
							sortable : true,
							dataIndex : 'studentname'
						}, {
							header : '性别',
							width : 75,
							sortable : true,
							dataIndex : 'studentgender'
						}],
				bbar : new Ext.PagingToolbar({
							pageSize : 5,
							store : store,
							displayInfo : true,
							displayMsg : '显示第 {0}条 至 {1}条 共 {2}条',
							emptyMsg : "没有满足条件的记录"
						})
			});
	gridPanel.addListener('rowdblclick', cellclick);
	store.on("beforeload", function(thiz, options) {
				var type;
				var term;
				var combo = Ext.getCmp('searchType');
				var termBox = Ext.getCmp('searchTerm');
				var typeName = combo.getValue();
				if (typeName == '学号') {
					type = 0;
				} else if (typeName == '姓名') {
					type = 1;
				}
				term = termBox.getValue();
				thiz.baseParams["type"] = type;
				thiz.baseParams["term"] = term;
			});
	function cellclick(grid, rowIndex, e) {
		var record = grid.getStore().getAt(rowIndex);
	}

	var tabPanel = new Ext.TabPanel({
				id : 'tabpanel',
				frame : false,
				region : 'center',
				activeTab : 0,
				autoheight : true,
				height : 100,
				// title:'设置搜索条件',
				// collapsible: true,
				items : [{
							id : 'mhPanel',
							title : '模糊查询',
							autoScroll : true,
							layout : 'border',
							items : [gridPanel]
						}, {
							id : 'gjPanel',
							title : '高级查询',
							autoScroll : true,
							html : 'TODO……'
						}]
			});
	// 布局
	var viewport = new Ext.Viewport({
				layout : 'border',
				items : [tabPanel]
			});

	Ext.get('loading').remove();
});